home *** CD-ROM | disk | FTP | other *** search
/ The Original Shareware 1.1 / The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso / 32 / nudaypc4.zip / NEWDAYPC.DOC next >
Text File  |  1988-10-17  |  21KB  |  344 lines

  1. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  2. = 'NewDay/PC' by Mike Ratledge - East Bay X-Change 803/723-6430 or 577-9845 =
  3. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  4.         = Version 4.0 - Released Oct 16th, 1988 - (C)CopyRight 1988 =
  5.         =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  6.  
  7. This program performs similar functions, and will accept the same datafiles
  8. as "Today" (Patricks Kincaid original history program).  I wrote "NewDayPC"
  9. because I really liked Patricks program, but was unable to use it on my BBS
  10. due to file-sharing conflicts.  At the time I released "Today/PC II vers 1.0",
  11. Patrick had not changed his program in several years, and I assumed it was a
  12. 'dead' project for him.  Patrick decided that my program was "too similar" in
  13. name, so I decided to change it to NewDay/PC with this version (4.0).
  14.  
  15.  
  16.  
  17. Listing of enhancements in reverse order...
  18.  
  19.  
  20. What's new in version 4.0:
  21.  
  22.   Name Change (NewDay/PC)  Starting with version 4.0, this program has been
  23. renamed "NewDay/PC" in order to cause less confusion with Patrick Kincaid's
  24. Today program.
  25.  
  26.   Slight Mod:  (Check for .EXE)  Since I have renamed the program "NEWDAYPC"
  27. I now look for either NEWDAYPC.EXE or TODAY.EXE instead of TODAY & TODAYPC2
  28. .EXE files for the file-sharing test.  In other words - you can rename this
  29. program "TODAY.EXE" and the file-sharing check still works - but you can't
  30. use the old "TODAYPC2.EXE" name any more - it doesn't check for that one.
  31. This only effects people running under multi-tasking or networking software.
  32.  
  33.   Enhancement:  (Date 'spanning')  You may enter a span of dates in columns
  34. 2-5 and 6-9 for either "R"- or "Y"-type events.  These are only validated if
  35. columns 2 & 3 as well as columns 6 & 7 contain a value between '01' to '12'.
  36. Note that the leading zero *is* important!  Without them, it thinks you are
  37. using a year instead of a date span.  "Y"- & "R"-type events will highlite
  38. and display the remaining days duration of the spanned event, i.e. "5 Days".
  39. Also note that this makes *no* attempt to "span years" - in other words, the
  40. date in columns 6-9 *must* be greater than the one in columns 2-5 for it to
  41. work!  This method of designating spanned dates allows us to use spans for
  42. any period without losing the year except for years 1001 to 1031, 1101 to
  43. 1130 and 1201 to 1231 (if you can think of a better way to do it, please let
  44. me know).  In other words - "0910" in 6-9 is interpreted as the 10th day of
  45. the 9th month, but " 910" is the year.
  46.  
  47.   New Compiler:  (TP5)  This version is compiled under Turbo Pascal 5.0.
  48.  
  49.   Clarification:  (BBS Use)  You *must* use the ENTER parameter if you run
  50. NewDay/PC as a bulletin board 'DOOR' or external program.  Otherwise, the
  51. program is looking for a keypress, which must come from the local keyboard
  52. instead of allowing redirection from the STDIN where the user is located
  53. (in other words: "I can't 'peek' into the keyboard buffer on the remote")!
  54. Also, the TIMED parameter does not work when using DOS redirection to allow
  55. BBS usage for the same reason.  For example:  "NewDayPC Enter #10" to show
  56. up to 10 "E" and "S" events at random and force <ENTER> (or <CR>).
  57.  
  58.   Enhancement:  (Re: Random)  This version displays a single-line message
  59. if you use the randomization paramter (i.e. #xx) which tells you you're only
  60. getting a random sampling of "At Most xx Birthdays and Historical Events".
  61.  
  62.   Enhancement:  (Day Countdown)  As mentioned above, if you use "spanned
  63. dates" in a "Y"-type event (your personal reminders), it will display the
  64. remaining time before the last date in the span as "xx Days" in reverse
  65. video, similar to the way it displays the number of years since a birthdate
  66. or historical event.  It bleats at you if today is the last day of the span.
  67.  
  68.  
  69.  
  70. What's new in version 3.0:
  71.  
  72.   Enhancement:  (Aging dates)  The program will display the "age" or years
  73. since an event if it's less than 1000 years old.  Birthdays also have name
  74. of the individual highlighted, as well.  The "age" is displayed as three
  75. digits following the year, and the words "In " have been eliminated from
  76. every line, slightly shortening the line to allow for the addition of the
  77. age/years field.  Unlike in version 2.0, both types of dates (birthdates,
  78. and the events in history) are aged, but as before, you can eliminate this
  79. by using the NOAGES parameter.
  80.  
  81.   Enhancement:  (More color control)  You can now specify from one to six
  82. colors using the COLORS(xxxxxx) command-line parameter.  Positions 1 to 4
  83. are the colors for each of the four message types (B, R, S & Y).  The fifth
  84. position is for the highlighting of the birthday names.  Position number six
  85. is for the reverse video background color which indicates the age or years
  86. since an event.  You may also select the defaults for certain colors without
  87. specifying them in the parameter - i.e. "COLORS(----w)" would use the default
  88. colors for everything except the names of birthday people, which would be
  89. white.  You specify each of the colors as in version 2, by using the first
  90. letter of the screen color (Red, Blue, Green, Yellow, Cyan, Magenta, White).
  91. Defaults are magenta for the birthday names and yellow for reverse video age.
  92.  
  93.   Revision:  (TODAY8??.ARC files)  The monthly database files no longer have
  94. to be re-sorted to work with the program, since they are now being colated in
  95. ascending alphabetic order on the first 9 columns by Bruce Goldman.
  96.  
  97.   Enhancement:  (Eliminating Database Entries)  You may replace the entry-type
  98. (first character) of anything in the database with any character other than
  99. the "B", "R", "S" & "Y" flags, and the entry will be completely ignored.  This
  100. way, you could take your text editor and block out the Civil War dates, or the
  101. hockey scores and still retain the full database in case you change your mind.
  102.  
  103.   Change:  (<ENTER> no longer required)  The default for this version is like
  104. the original program - you can hit any key (instead of only the <Enter> key).
  105. If you want the feature of only accepting the <Enter> key for use with a BBS,
  106. a new command-line parameter "ENTER" will give you that (it was the default).
  107.  
  108.   Bug Repair:  (EOF handling)  Noone ever noticed, but it was possible before
  109. for the last event in the monthly file to be ignored if the .OWN file ran out
  110. first.  I noticed it while testing very short files, and fixed the problem.
  111.   I didn't like the end result of the addition of the aging for birthdays in
  112.   version 2.0, so I went back and changed the format of the display slightly
  113.   to allow for a little more room on each line, while still retaining aging,
  114.   and adding it to dates other than birthdates (thanks Bruce!).
  115.  
  116.  
  117. What was new in version 2.0:
  118. ----------------------------
  119.  
  120.   Enhancement:  (Event handling)  Fourth message type 'Y' which is for your
  121. own special reminders.  The only difference is that they show up last, with
  122. "exact match" highlighting like that done for 'R'-type events.
  123.  
  124.   Enhancement:  (Birthdate Ages)  By default, ages (or how old they *would*
  125. be) is shown for anyone that was born less than 100 years ago.  If you don't
  126. want this, you can have them displayed like before with parameter "NOAGES".
  127. You may wish to shorten some of the longer entries ( > 62 chars ) to avoid
  128. having them "spill over" onto the next line (only affects birthdates!), but
  129. I'm working on another enhancement to "Today/PC II" which will eliminate the
  130. problem by changing the format of each line slightly.  (Look for this new
  131. version sometime around the end of July).  (See above for changes!)
  132.  
  133.   Enhancement:  (Selecting Screen Colors)  You now may specify the different
  134. colors used for the four message types.  "COLORS(brsy)" replacing 'brsy' with
  135. the first letter of the color you want (White, Blue, Magenta, Yellow, Green,
  136. Cyan or Red).  Here's an example:  COLORS(BCGY)  selects Blue for birthdays,
  137. Cyan for reminders, Green history events and Yellow for personal reminders.
  138. Note that using "-" for the any of the colors tells the program to use its
  139. default color there.  "COLORS(xxxx)" is ignored if "NOCOLOR" is selected!
  140. (See above for further refinement as of version 3.0 and later)
  141.  
  142.   Enhancement:  (Parameter) "TIMED" indicates that you wish to wait no more
  143. than 45 seconds between screen displays.  In the timed mode, <CTRL-K> is
  144. accepted for <CTRL-C> to avoid conflicts with other software.
  145.  
  146.   Enhancement:  (Compatibility)  You may rename TODAYPC2.EXE to TODAY.EXE
  147. and the "ONCE" parameter will still work, as well as the check for sharing
  148. under DOS 3.0+ - previously, they worked with file named TODAYPC2.EXE only.
  149. My "ONCE" parameter does *not* require you to be in the same sub-directory
  150. as the .EXE file - it will find it on the PATH or if called with a pathname.
  151.  
  152.   Bug-Repair:  (Screen Handling)  If you <CTRL-"C"> out of the page break
  153. or end "Wait", you don't get black on black (invisible) when in color mode.
  154.  
  155.   Revision:  (TODAY8??.ARC)  Expanded monthly updates from Bruce Goldman!  A
  156. new list is released each month after the calendar month is over.
  157.  
  158.   Change:  No TODAY.xxx history files with program update.
  159.  
  160.   Change:  "NOPAUSE" parameter defeats the "WAIT" parameter.
  161.  
  162.  
  163.   Although I've never had a bug reported by any user of Today/PC II, it is
  164. possible that some unexpected combination of events may produce an error!  If
  165. this does happen, TODAY/PC2 will automatically do a traceback through stack
  166. code to show the calling procedure tree and addresses.  Please include this
  167. information if you report a bug!  (It appears similar to the error message
  168. normally seen in a failed "Turbo Pascal" program, except it will contain at
  169. least three or four sets of codes instead of one address & error number.)
  170. This program was written as part of a series of utilities for TComm Bulletin
  171. Board SysOps.  The program originally designed by Patrick Kincaid known as
  172. "Today" (which was written in 1986) was my inspiration.  I have taken his
  173. concept and extended it to accommodate my needs as a SysOp and to give a way
  174. to handle files larger than 50K and with more than 60 entries per date, as
  175. well as to incorporate full DOS 3+ (network-compatible) file-sharing for the
  176. multi-user Bulletin Board Systems.  The filesize isn't limitted at all, as a
  177. matter of fact - you can use as large a database as you wish, with as many
  178. entries per day as you can find!  Multiple concurrent accesses to databases
  179. are supported for networks, as well.  Note that in a multi-user environment,
  180. it would be unadvisable to use the "ONCE" option and expect it to work with
  181. any consistency, since multiple stations would update the file timestamp.
  182.  
  183. The actual data displayed by "Today/PC II" is taken from files compiled by
  184. Bruce T Goldman and distributed by him on bulletin boards as TODAY8??.ARC in
  185. twelve files - one for each month of the year updated at end of that month.
  186. All the formats & parameters in the original program ("TODAY") written by
  187. Patrick work the same as before, and there are quite a few new parameters, as
  188. well (See below).  The basic coding of the input database is discussed in
  189. later in this document.  I explain the new features and coding changes, too
  190. - or if you don't like to read, type "TodayPC2 help" for a fast 'tutorial'.
  191.  
  192. In order to keep the main .ARChive size down to a minimum, I stopped adding
  193. the TODAY.OWN and TODAY.APR database files.  All of the TODAY.XXX monthly
  194. databases (properly re-sorted versions of TODAY81, 82, 83 & 84) are available
  195. for download from my bulletin board at the numbers listed above.
  196.  
  197. NOTE:
  198.    I use a simple parsing routine to check the command-line parameters, and I
  199. don't recognize mixed-case parameters - just all upper- or lower-case letters
  200. on the command-line.  Color parameters may be mixed upper and lower, though.
  201.  
  202.  
  203. Changes and Additions & Good News:
  204.  
  205.     1)  There is _no_ limit on the size of the input files, and you will
  206. see all dates completely sorted in sequence and merged from both the monthly
  207. database file and the TODAY.OWN file.  There is a limit of 255 characters on
  208. each line, but anything over 72 characters causes the display to wrap, unless
  209. it's ANSI escape sequences for color control, for example.  By the way - you
  210. can change the colors any way you like by inserting ANSI sequences in your
  211. database(s).  Version two supports user-selected colors for message texts.
  212.     2)  ANSI Color is used by default.  If you want no color, simply add
  213. the new command-line parameter "NOCOLOR".  See note below about adding color
  214. if you plan to add your list to the master database I will maintain.
  215.     3)  Support for 43-line and 50-line text modes for EGA & VGA displays
  216. respectively is provided by new command-line parameters "LINE43" & "LINE50".
  217. Note that you must already be in the particular 43- or 50-line mode when you
  218. use LINE43 or LINE50, since it does _not_ switch video modes!  You may also
  219. use a "NOPAUSE" parm for output redirected to a file, or you'll have to hit
  220. the newline several times to get it to complete (and you won't see any prompt
  221. either!).  Note: NOPAUSE implies "NOWARN" (below).
  222.     4)  The "*" heading lines are no longer required and actually any
  223. line beginning with '*' is completely ignored.  Included for compatibility.
  224.     5)  A new "!" control-line in the file, which must be the first line
  225. allows you to put a description or custom message into your TODAY.XXX files.
  226. The description is limited to 50 characters per line, excess is ignored.  You
  227. may have multiple description lines, as long as they are the first lines.
  228.     6)  The DOS environment is searched for the string "TODAY", and if it
  229. is found, the program changes directories to the path therein before execution
  230. and changes back to the current drive/path when finished.  This allows you to
  231. have NEWDAYPC.EXE on you DOS "Path" and the TODAY.XXX database files stored in
  232. any subdirectory.  Actually, extending the concept a bit, you could have many
  233. different sets of TODAY.XXX input files, distinguished by the sub-directory in
  234. which they reside.  In order to use this feature, you must use the DOS "Set"
  235. command like this: SET TODAY=C:\UTIL\TODAY    You may alternatively use the
  236. command-line parameter "=pathname" to specify the sub-directory.  The "=" parm
  237. overrides the "TODAY" environment setting, if any.
  238.     7)  If you give an alternate date on the command-line, the welcome
  239. message is slightly different, and day-of-the-week matching is not performed.
  240.     8)  If you give a full eight-digit date in the TODAY.XXX file input,
  241. and it matches today's date, the line is highlighted and beeps as displayed.
  242. This allows you to put true reminders for specific dates into your .OWN file.
  243. It also beeps when it displays them, so you can actually put your future dates
  244. into the "R" reminder lines with a specific date, and you'll definitely get
  245. reminded!  If you put an eight-digit date on an "R" line, it will be displayed
  246. as "19xx ..." like the other lines unless it matches exactly.  You can use
  247. this in any section, but it really only makes sense in the 'reminders'.
  248.     9)  By default, a help line is displayed telling you the lines/page
  249. selected & that you can hit <Ctrl-S> to pause, <Ctrl-Q> to resume or <Ctrl-C>
  250. to quit.  You can eliminate this by using another new command-line parameter,
  251. "NOWARN".  NOWARN is implied by NOPAUSE above.
  252.     10)  Two 16K buffers for the input files.  This causes "NewDay/PC"
  253. to eat up a little more real estate memory-wise than it's predecessor. (64k)
  254. It might also make the start-up a little slow on floppy-only machines.
  255.     11)  The way "ONCE" is handled is a little bit unorthadoxed!  It works
  256. by updating the file "NEWDAYPC.EXE" directory entry to show that it was last
  257. updated today.  This does not write any new information to the file - simply
  258. updates the date for the file's directory entry.  It will find the .EXE file
  259. by looking first in the current directory, then in the directory it started
  260. in (under DOS 3.0+ only), and finally your "PATH" in the environment.  This
  261. is not a trojan program - nothing will be changed except the date!
  262.     12)  Full DOS 3.0+ file-sharing capabilities for multi-node bulletin
  263. boards and network installations.  Again, this works by finding NEWDAYPC.EXE
  264. and trying to lock the file if you're running DOS 3 or later.  For both this
  265. feature to work, and for the "ONCE" function to work, you must not rename the
  266. .EXE file and you should not write-protect it either.  Note that both of the
  267. functions require DOS 3+ in order to properly work when run from in another
  268. sub-directory without using the DOS "PATH".  They work with any DOS version
  269. when you use the PATH or switch to the directory where the .EXE is located
  270. before you run "NewDay/PC".
  271.  
  272.  
  273.  
  274. What next?
  275.  
  276.   In version 4, I plan to add a feature to allow for random sampling of the
  277. date, in other words, you will be able to limit the number of birthdates and
  278. events in history displayed (and see a different sampling) for each run.  I
  279. also plan to (finally) add support for TCommNet Bulletin Boards to allow the
  280. program to call the user by name, and automatically detect non-color callers.
  281.  
  282.   If someone will get me the specs for allowing a program to run as a "DOOR"
  283. in PCBoard, I'll be happy to produce an interface or whatever is required.  I
  284. do not know what is necessary to implement this, since my TCommNet BBS will
  285. run anything I want as a "DOOR"-like program - it runs "NewDay/PC" directly.
  286.  
  287. Now, some examples:
  288.  
  289.   NEWDAYPC CLEAR WAIT LINE43  will display using ANSI Color, 43-lines per
  290. page, clear the screen before starting and wait for <Enter> when through.
  291.  
  292.   NEWDAYPC NOCOLOR NOWARN  will give you "almost" the same display as the
  293. old program - no color and no help message.
  294.  
  295.   NEWDAYPC CLEAR LINE50 0430  will use 50-line VGA text mode, clear screen
  296. before beginning, and lookup April 30th, instead of the current date.
  297.  
  298.   NEWDAYPC NOPAUSE =E:\BIN\USR\TODAY > TODAY.OUT  will place the output into
  299. the file "TODAY.OUT" in the current directory, and read the TODAY.XXX files
  300. from the directory E:\BIN\USR\TODAY.
  301.  
  302.   NEWDAYPC ONCE will cause the program to either run normally, and to update
  303. it's own date (the first time each day), or it will simply quit without any
  304. output at all if the date on NEWDAYPC.EXE matches the current date.
  305.  
  306.   NEWDAYPC ENTER COLORS(---wbw) TIMED CLEAR  will force you to use <Enter>
  307. between pages/screens, change the default colors for "Y" entries to white,
  308. birthday names to blue and the reverse video ages to white.  Each pause will
  309. last no more than 45 seconds, and the screen will be cleared before starting.
  310.  
  311.   NEWDAYPC NOAGES  will eliminate the new-style aging displays.
  312.  
  313.  
  314. This program is written in Turbo-Pascal 5.0, along with Turbo Power "Turbo
  315. Professional 4.0" using the Brief 2.1 program editor.  Several questions
  316. about the program design may come to mind.  I'll try and address the most
  317. likely ones:  1) Why use ANSI Color?  I used ANSI in conjunction with STDOUT
  318. so that the output could be redirected to a file, and also redirected to a
  319. COM port on a bulletin board system.  2) Why only two files, still?  I don't
  320. see the need for more, since you can now have any size for both input files
  321. and as many daily events as you wish.  You may also have multiple sets of
  322. TODAY.XXX files in different sub-directories by using either the SET TODAY=
  323. environment string, or using the "=pathname" command-line parameter.  This
  324. program does a running merge of both input files (assuming TODAY.OWN exists)
  325. and it would be rather nasty to do multi- one-to-one file matching, anyway.
  326. 3) Why do you make us hit <Enter> instead of any key?  Again, bulletin board
  327. is my reasoning there, too.  I frequently see a little line noise even when
  328. calling in from home to my system.  Accepting only <Enter> makes it less
  329. likely to continue the display if you're getting a burst of line-noise.
  330.  
  331.   I would like to suggest a couple of additions to the database.  How about
  332. someone writing up a good TODAY.R&R (Rock & Roll) history? or "Charleston"?
  333. If you put together a new input file for "NewDay/PC", please upload it to
  334. my East Bay X-Change BBS, I will get it to Bruce Goldman for inclusion into
  335. the next series of monthly database files.
  336.  
  337.                             Mike Ratledge
  338.  
  339.  
  340. As always - my programs respond to user input and desires.  If there is a
  341. feature you'd like to see implemented in "NewDay/PC", just let me know!
  342. Of course if I add *every* feature *everybody* wants, the program would
  343. soon become unusable - but anything reasonable and that is compatible with
  344. previous releases will be considered!